package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转集合
 * 数组的工具类Arrays提供了一个静态方法asList()，可以将数组转换为List集合。
 * 对集合的操作就是对数组的操作
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] str = {"a", "b", "c","d"};
        System.out.println("原数组为：" + Arrays.toString(str));
        List<String> list= Arrays.asList(str);
        System.out.println("list集合为：" + list);
        list.set(0, "A");
        System.out.println("list集合为：" + list);
        System.out.println("原数组为：" + Arrays.toString(str));
        // 报错：java.lang.UnsupportedOperationException
        // 数组是固长的，因此改变数组元素个数的操作都会抛出异常
        // list.add("e");

        // 需求，如果我就是想改变集合的元素，那么只能采用创建新的集合的方式
        // 按照逻辑，我们需要new出来一个新的集合、
        // 然后，使用并集操作
        // List<String> list3 = new ArrayList<>();
        // list3.addAll(list); 简写为下面的这段话
        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2集合为：" + list2);
        list2.add("e");
    }
}
